A computer network is a collection of interconnected computing devices that can exchange data and share resources. In a packet-based network, such as an Ethernet network, the computing devices communicate data by dividing the data into small blocks called packets, which are individually routed across the network from a source device to a destination device. A variety of intermediate devices operate to route the packets between the computing devices. For example, a computer network may include routers, switches, gateways, firewalls, and a variety of other devices to provide and facilitate network communication.
These network devices typically include mechanisms, such as management interfaces, for locally or remotely configuring the devices. By interacting with the management interface, various clients, such as human users, automated scripts or network management systems, can perform configuration tasks as well as collect and view operational data of the managed devices. For example, the clients may configure interface cards of the device, adjust parameters for supported network protocols, specify physical components within the device, modify routing information maintained by a router, access software modules and other resources residing on the device, and perform other configuration tasks. In addition, the clients may receive information either by polling the managed device or by receiving asynchronous events from the devices. In this way, the management interfaces of the managed device may be used to access current operating parameters, system logs, information related to network connectivity, network activity or other status information for the devices, allowing clients to view and react to event information received from the devices.
The Simple Network Management Protocol (SNMP) is a standard defined by the Internet Engineering Task Force (IETF) for managing network devices. SNMP uses a design that incorporates one or more management information bases (MIBs) within a managed device to describe and expose internal data elements of the managed device. Management devices, such as computer consoles and network management systems, store data to and read data from the SNMP MIBs of the devices to configure, monitor and generally control operation of the devices. For example, an SNMP agent executing on the managed device accesses the device's internal SNMP MIBS and exchanges network management information with an SNMP manager running on the network management system or other host. The SNMP agent responds to requests for information and directives from the SNMP manager.
The SNMP standard defines several commands that an SNMP management application running on an SNMP management system must support for managing remote network devices. The SNMP management application issues the commands to an SNMP agent executing on the managed device. In version two of the SNMP standard, generally referred to as SNMPv2, these commands include Get, GetNext, Set, and GetBulk. When issued by the SNMP management application, the Get and GetNext commands, for example, each retrieve a single scalar or tabular object from a MIB of the targeted network device.
The SNMP management system is configured to wait to receive a response to a command for up to a maximum amount of time. If the maximum amount of time elapses without the SNMP management system receiving a response, the SNMP management system typically resends the command to the SNMP agent. The SNMP management system may not receive the response quickly enough because the SNMP agent may be too slow or the response packet may have been dropped. In examples where the SNMP agent is too slow, the SNMP management system may subsequently receive a response to the initial command as well as a response to the resent command, which results in increased SNMP agent resource usage on the managed device as well as increased bandwidth usage. When the SNMP management system does not receive a response quickly enough, the SNMP management system is configured to increase the maximum amount of time to wait for the response. However, even if the SNMP agent is quick enough to provide a response within the increased amount of time, the increased amount of time causes additional delays when the packet is dropped.